C语言高手快来帮帮忙``````````

来源:百度知道 编辑:UC知道 时间:2024/05/16 15:41:44
10.在C语言环境下实现成绩管理(较难)
要求:输入一个班学生的学号和各门功课的成绩。应用结构体数组保存输入的信息,求出每个学生的平均成绩;再按平均成绩排序,并输出排序后的结果。
具有可扩充性。

#include<stdio.h>
struct stu{
char name[12];
int num1;
int num2;
int num3;
double junzhi;
}b[4],k;
void main(){
int i,j,num;
printf("请依次输入学生姓名及各科成绩\n");
printf("姓名 语文 数学 英语\n");
for(i=0;i<4;i++)
scanf("%s%d%d%d",&b[i].name,&b[i].num1,&b[i].num2,&b[i].num3);
for(i=0;i<4;i++){
num=b[i].num1+b[i].num2+b[i].num3;
b[i].junzhi=(double)num/3;
}
for(i=0;i<4;i++){
for(j=0;j<4-i;j++)
if(b[j].junzhi<b[j+1].junzhi){
k=b[j+1];
b[j+1]=b[j];
b[j]=k;
}
}
printf("按总成绩排序输出\n");
printf("名次 姓名 语文 数学 英语 平均成绩\n");
for(i=0;i<4;i++){
printf("%-6d%-8s%-6d%-6d%-6d%-6f",i+1,b[i].name,b[i].num1,b[i].num2,b[i].num3,b[i].junzhi);
printf("\n");
}
}
tc是不支持中文的,我这个是在c